Compared with a traditional hard disk drive (HDD), a solid state disk (SSD) based on the flash memory technology has an advantage of fast speed. However, due to the characteristics of the SSD, the SSD can have an issue of write amplification, which can affect the service life of the SSD.
In an SSD, if new data is required to be written into a storage medium location that already stores data, it is mandatory to first erase that storage medium location to switch it into an idle state before writing new data into that storage medium location. The erase operation must typically be performed in a unit of storage medium blocks. In a typical example, the size of a storage medium block is 256 KB. On the other hand, in an SSD, the minimum unit for allocating a storage medium is called a storage medium page. Typically, the size of a storage medium page is 4 KB. In other words, in the above example, a storage medium block comprises 64 storage medium pages.
For example, one storage medium block in the SSD may be fully written with data, and it may be desired to modify data stored in a certain target storage medium page in that storage medium block. According to the above description, erasing must be first performed before writing of the modified data; however, the erasing can only be performed as to the whole storage medium block. In other words, the data in the whole storage medium block must be read into a buffer; and then the erase operation is performed on the whole storage medium block. Next, the data is modified in the buffer, and the modified data is written back to the storage medium block that has been erased. Accordingly, to modify data on a storage medium page (4 KB), it is not only required to erase and write the storage medium page, but also to erase and write to the other 63 storage medium pages in the whole storage medium block (256 KB) where the storage medium page is located. This is referred to as “write amplification.”